<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    // 这么写就是最多支持任意多个参数终极版
    function add(){
        let sum=0;
        for (let i = 0; i < arguments.length; i++) {
            let n=arguments[i]||0;
            sum+=n;
        }
        return sum;
    }
  // function add(x,y){
  //   return x+y;
  // }
  let result = add(10,20);
  console.log(result);
  let result2 = add(10,20.5);
  console.log(result2);
  let result3 = add('hello','world');
  console.log(result3);
  let result4 = add('hello',10);
  console.log(result4);
  let result0 = add(10);
  console.log(result0);//NaN
  let result5 = add(10,20,30);
  console.log(result5);//30
  // function add(a,b,c,d,e,f){
  //     由于abcdef可能是undefined.一旦是undefined就会破坏运算结果修改版
  //     a=a||0;
  //     b=b||0;
  //     c=c||0;
  //     d=d||0;
  //     e=e||0;
  //     f=f||0;
  //     return a+b+c+d+e+f;
  //
  // }
  // function add(a,b,c,d,e,f){
  //     由于abcdef可能是undefined.一旦是undefined就会破坏运算结果
  //     if(a==undefined){
  //         a=0;
  //     }
  //     if(b==undefined){
  //         b=0;
  //     }
  //     if(c==undefined){
  //         c=0;
  //     }
  //     if(d==undefined){
  //         d=0;
  //     }
  //     if(e==undefined){
  //         e=0;
  //     }
  //     if(f==undefined){
  //         f=0;
  //     }
  //     return a+b+c+d+e+f;
  //
  // }
  // let result0 = add(10);
  // console.log(result0);
  // let result2 = add(10,20);
  // console.log(result2);
  // let result3 = add(10,20,30,40);
  // console.log(result3);
</script>

</body>
</html>